Location sensitive messaging

ABSTRACT

Methods including computer program products for receiving a request from a first device, the request incorporating a message. One or more users from a first set of one or more users are selected where each of the selected one or more users is associated with a second device that is in a proximity to a current location of the first device. The message and the current location of the first device are sent to each of the second devices associated with the selected one or more users.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. application Ser. No.11/437,041, entitled “Location Sensitive Messaging”, filed on May 19,2006, now U.S. Pat. No. 7,899,468, the entire contents of which arehereby incorporated by reference.

This application is related to pending U.S. application Ser. No.11/241,540, entitled “Landmark Enhanced Directions”, filed on Sep. 30,2005, the entire contents of which are hereby incorporated by reference.

This application is related to pending U.S. application Ser. No.11/367,911, entitled “Intelligent Reverse Geocoding”, filed on Mar. 3,2006, the entire contents of which are hereby incorporated by reference.

BACKGROUND

FIG. 1 is an illustration of a network 100 and devices 110, 112, 114,116, 118 and 120 connected to the network 100 by way of one or morewired or wireless links. The devices depicted in FIG. 1 are distributedspatially according to their current geographic locations. Typicalwireless carriers can use various approaches for determining the currentgeographic location of a device. One high accuracy approach actives aGlobal Positioning System (GPS) receiver in a mobile device in order todevelop a reasonably precise location of the mobile device at a point intime. A low accuracy approach maps the cellular tower that a mobiledevice is communicating with (e.g., based on signal strength) to ageographic region. An intermediate approach uses one or more last knownGPS location(s) to determine a location of the mobile device based on anestimated trajectory. Other approaches are possible.

The network 100 can include tethered devices (120) such as personalcomputers, base stations (104, 106, 108) for providing wireless networkservice to mobile devices (110, 112, 114, 116, 118) such as cellulartelephones, mobile computers, portable game systems, portable mediadevices, personal and automobile navigation systems (116), combinationsof these, and generally any type of mobile computing device that iscapable of communicating wirelessly. Examples of wireless networksinclude cellular telephone networks, Institute of Electrical andElectronics Engineers (IEEE) 802.11 based networks, IEEE 802.16 basednetworks, and other suitable networks. The network 100 can include oneor more servers 102 for facilitating different network functions such asswitching packets between devices or base stations, coordinating mobiledevice handoff in cellular networks, and supporting applications such asShort Message Service (SMS), Short Message Service Center (SMSC),Instant Messaging (IM), Multimedia Message Service (MMS), video phone,and email.

Users of mobile and tethered devices can exchange messages with oneanother. For example, if a user of the mobile device 114 wants send amessage to friends that are using mobile devices 110 and 118, the usercan specify the destination addresses associated with these devices(e.g., the friends' email account names) in a message sendingapplication, such as electronic mail (email) or an IM application. Oncethe message is sent, the message is received by base station 108,transmitted by base station 108 to server 102, and relayed from server102 to base stations 104 and 106. Base station 106 transmits the messageto mobile device 118 and base station 104 transmits the message tomobile device 110.

If the user of mobile device 114 also wants to communicate their currentlocation, the user can manually include this information in the message:“Meet me at the pub at Powel and Market in 15 minutes.” However, havingto type the location information can be cumbersome, especially using theminuscule keypads that are commonly included on mobile devices such ascellular telephones. In addition, the user may have no idea of where theuser's friends are currently located, or whether they can actuallyarrive at the user's location within the specified time. The user maywant to send a message just to friends who are within a certain distancefrom the user's current location, but the user has no way of knowingwhich friends are nearby.

SUMMARY

In general, in one aspect, embodiments of the invention featurereceiving a request from a first device. The request incorporates amessage. One or more users from a first set of one or more users areselected where each of the selected one or more users is associated witha second device that is in a proximity to a current location of thefirst device. The message and the current location of the first deviceare sent to each of the second devices associated with the selected oneor more users.

These and other embodiments can optionally include one or more of thefollowing features. The request specifies the proximity. The requestidentifies the first set of one or more users. The first set of one ormore users is part of a buddy list, chat list or a Short Message Service(SMS) group. A geographic reference point is determined based on thecurrent location of the first client device. The geographic referencepoint is incorporated into the current location of the first clientdevice. The message can include one or more of text, still or motionimages, voice, sounds, or streaming media. A route from one of theassociated second devices to the first device is determined. The routeis provided to the second device. The message includes a code indicatingone of: the proximity or the first set of one or more users.

In general, in another aspect, embodiments of the invention featurereceiving a request from a first device, the request incorporating amessage and specifying a proximity. A current location for the firstdevice is obtained. One or more users are selected from a first set ofone or more users where each of the selected one or more users isassociated with a second device that is in the proximity to the currentlocation of the first device. The message and the current location ofthe first device are sent to each of the second devices associated withthe selected one or more users.

These and other embodiments can optionally include one or more of thefollowing features. The first set of one or more users is part of abuddy list, chat list or a Short Message Service (SMS) group.

Particular embodiments of the invention can be implemented to realizeone or more of the following advantages. A user can publish theirlocation information to other mobile or landline users. Users candecided whether or not to make available their location information toother users. Users are not aware of which users receive their locationinformation. Users can send their location information to a group ofusers, such as buddy list. Moreover, a user can specify that a messagebe sent only to other users who are within a certain distance from theuser's current location. Users can send messages to a location datingservice that determines which other users are in the specified range.Directions between two users based on their current locations can beprovided. Users that send messages to other users within their proximityare not aware of which users received the message. One or more codes canbe included in a message to designate a proximity and potentialrecipients.

The details of one or more embodiments of the invention are set forth inthe accompanying drawings and the description below. Other features,aspects, and advantages of the invention will become apparent from thedescription, the drawings, and the claims.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates a network.

FIG. 2 is a flow diagram of an approach for sending a message.

FIG. 3A illustrates a user interface for sending a message.

FIG. 3B illustrates a user interface for receiving a message.

FIG. 3C illustrates a user interface for responding to a message.

FIG. 3D illustrates a user interface for receiving a response to amessage.

FIG. 3E illustrates a user interface for presenting directions.

FIG. 3F illustrates a user interface for presenting a web page.

FIG. 4 illustrates a spatially distributed network with proximity zones.

FIG. 5 is a flow diagram of an approach for receiving a message.

FIG. 6 illustrates a location sensitive messaging system.

FIG. 7 is a flow diagram of an approach for responding to a request.

Like reference numbers and designations in the various drawings indicatelike elements.

DETAILED DESCRIPTION

FIG. 2 is a flow diagram of an approach 200 for sending a messageincluding the current location of a sender. A message can include one ormore of text, still or motion images, voice, sounds, streaming media,and other suitable content. Before sending a message, a user can select,potential recipients of the message (step 202). For example, FIG. 3Aillustrates a user interface 300 for composing and sending a message asmight be presented on tethered or mobile devices. Although a graphicaluser interfaces are illustrated throughout this discussion, other userinterfaces are possible including non-graphical user interfaces that arecapable of recognizing speech, sounds, gestures, eye movement, and thatare capable of synthesizing speech from text.

Potential recipients can be determined by default settings associatedwith a user profile, or can be interactively selected from a list, suchas list 302, whereby a recipient refers to an IM buddy list, SMS group302 a, other list 302 b, or one or more individuals 302 c.Alternatively, potential recipients can also be specified throughdynamically evaluated rules based on attributes of the recipients. Forexample, a rule could be used to select friends who like to play pool.In a further alternative, potential recipients can be specified byincluding a code in the message, such as a phrase or a number. The codecan be associated with a user profile stored on the sending device or ona server. In one implementation, location sensitive messaging can beused in dating application. A user can send a message to a destinationthat identifies a dating service or use a message code that specifies adating service, for example. The dating service can determine a set ofrecipients for the message based on the user's dating profile and theproximity of the recipients to the user's current location.

A user can optionally specify that a message only be sent to deviceslocated within a specified or default proximity surrounding the currentlocation of the user's device (step 204). For example, through use of aproximity control 306 in user interface 300 (FIG. 3A), the user can movea slider 306 a to increase or decrease the diameter of a proximity zonesurrounding the current location of the user's device. Alternative, theproximity can be specified by including a code in the message, such as aphrase or a number. The code can be associated with a user profile storeon the sending device or on a server.

FIG. 4 illustrates proximity zones (402, 404, 406) of increasing sizesurrounding the current location of a user's device. The devicesdepicted in FIG. 4 are distributed spatially based on their currentgeographic locations. In this example, there are three proximity zones.The first zone 402 represents a first area about the current location ofmobile device 114. There are no devices in the first zone 402 other thanthe user's mobile device 114. The second zone 404 encompasses the firstzone 402 and is also centered about the current location of mobiledevice 114. Devices in the second zone 404 include 114 and 112.Similarly, a third zone 406 encompasses both the first 402 and second404 zones, and is also centered about the current location of mobiledevice 114. Devices in the third zone 406 include 114, 112 and 116.Devices outside of the third zone include devices 110, 118 and 120.There can be any number of proximity zones. In a further implementation,a proximity zone is a non-circular shape. For example, a proximity zonecan be shaped to exclude unpopulated areas or bodies of water.

Users can specify whether or not their location information should besent along with the message to potential recipients (step 206). Forexample, checkbox 304 in user interface 300 (FIG. 3A) can be selected toauthorize publication of the user's device location with the message.FIG. 3B illustrates a user interface 314 for presenting a receivedmessage 310 a, and capable of presenting location information for thesender of a received message 310 a. For example, in the message area 310message header 320 includes the name of the sender 320 a (“Mike”), thename of a restaurant 320 b (“baton”) where the sender is located, andthe street address of the restaurant 320 c (“324 First Street, SanFrancisco”).

The location information can include one or more of a street address ora geographic reference point such as a road segment, an intersection, ora point of interest. A point of interest, for example, can be alandmark, a shopping center, a business establishment, a park, a sportsfacility, a wilderness area, a recreational area, or a geographic area.Rules or heuristics can be used to guide the format of locationinformation based on factors such as the proximity of the location to ageographic reference point. This is fully described in pending U.S.application Ser. No. 11/367,911, entitled “Intelligent ReverseGeocoding”, filed on Mar. 3, 2006, the entire contents of which arehereby incorporated by reference. Examples of location informationformats for presentation in a user interface are included in TABLE 1.

TABLE 1 LOCATION INFORMATION FORMAT EXAMPLE OF LOCATION INFORMATION Atspecific location “At 323 Cole Street, San Francisco, CA” Withindistance of “Within 1.3 kilometers of Cole St. and Carl St.”intersection At point of interest “At Davies Medical Center” Withindistance of “Within 3 miles of Deboce Park” point of interest

Referring again to FIG. 2, users can manually enter a message to send tothe potential recipients or specify a predefined message (step 208). Forexample, the user can enter a message 310 a in message area 310 (FIG.3A) and then select the send now button 308 to cause the message to besent to potential recipients. Alternatively, the user can record avoice/video message. The message will be presented in the message area310 of each potential receiver's user interface 314, assuming thepotential receiver is within the specified proximity from the sender'smobile device and receives the message.

FIG. 5 is a flow diagram of an approach 500 for receiving a message. Amessage is received at a receiver's device and optionally includes thelocation information for the sender (step 502). As discussed above, FIG.3B illustrates the receiver user interface 314 for presenting a receiveda message 310 a, including the presentation of location information 320b-c for the sender 320 a of the message 310 a. The receiver can respondto the message 310 a (step 504) by selecting a respond button 322, forexample. Selecting the respond button 322 causes a response userinterface 328 (FIG. 3C) to be presented. This response user interface328 includes a text area 310 to enter a response 310 b, a checkbox 304to permit inclusion of the receiver's location information with theresponse, and a send button 308 to cause the transmission of theresponse 310 b and, optionally, the receiver's location information. Theresponse 310 b is received by the sender and presented by user interface330 (FIG. 3D), including the identity 332 a and optionally the location332 b of the user who sent the response.

The receiver can also obtain directions to the current location of thesender (step 506). For example, user who receives a message with alocation for a sender can obtain directions to the sender's locationfrom the user's current location by selecting a get directions button324 in user interface 314 or 330. Selection of the button 324 causespresentation of user interface 334 in FIG. 3E which can include agraphical map 336 and step-by-step directions 342 for traveling to thesender's location. The map 336 can show the user's current location 338and the location of the sender 340. In one implementation, the map 336or directions 342 can include easy to locate landmarks. This is fullydescribed in pending U.S. application Ser. No. 11/367,911, entitled“Intelligent Reverse Geocoding”, filed on Mar. 3, 2006, the entirecontents of which are hereby incorporated by reference. A landmark is anentity having a physical presence (e.g., a building, a sign, asculpture, an entity that is perceptible through vision, touch, orsound) that the user will encounter while traveling a route dictated bythe directions. In one implementation, a landmark is a branded referencepoint that designates a place of business or the location of at leastone business, commercial signage, or an advertisement. In oneimplementation, symbols or marks (e.g., trademarks) representinglandmarks can be included in the map 336 and/or the directions 342.

Finally, referring again to FIG. 5, a website associated with thesender's location can also be presented (step 508). A website could beassociated with the sender's location if, for example, the sender'slocation corresponds to, or is in close proximity to, a point ofinterest. By selecting button 326, for instance, a website can bepresented in user interface 346 (FIG. 3F).

FIG. 6 illustrates a location sensitive messaging system 600. A messagereceiver component 610 receives a message from a tethered or wirelesssender device by way of one or more wired or wireless computer networks.The system 600 may be implemented with fewer or more components thanillustrated and those components can be distributed over one or morecomputing devices connected by communication means such as one or morebuses or networks, shared memory, or other means. A component can beimplemented in software, firmware, as a specialized or general purposecomputing device, or combinations of these.

The message can optionally include parameters specifying whether or nota user associated with the sender device has authorized publication ofthe user's current location, a proximity around the sender's currentlocation, and identification of one or more potential recipients of themessage. Alternative, one or more of these parameters can be associatedwith a sender's profile in the system 600 so that the sending devicedoes not have to send them. In a further alternative, dynamicallyevaluated rules or heuristics can be used to specify when a user'slocation can be published based on time of day, location of the user, orother factors, for example. Likewise, rules and heuristics can be usedto determine proximity and potential recipients. In a furtherimplementation, if a potential recipient identifies a user group such asan IM group or buddy list, a user group service component 608 determineswhich users are members of the group and adds them to the one or morepotential recipients.

The message receiver component 610 determines if the message is arequest for message distribution or a request for directions. If therequest is for message distribution, a user/device association component602 identifies the devices associated with the potential recipients. Adevice location component 604 identifies which of the associated devicesare within the proximity of the sender, if any. The message is then sentto the potential recipients that are within the specified proximity bythe message sender component 612. If the user associated with thesending device has authorized the publication of their current location,the user's location information is included in the message sent by themessage sender component 612. The device locator 604 can be used todetermine the location information for the user, or this information canbe determined by the user's device and included in the message. Thelocation information can also include a geographic reference point asdetermined by a route determination component 606.

In one implementation, a request for directions from a user's currentlocation to another user's location is received by the message receivercomponent 610. The request identifies the sender of the request whosecurrent location serves as a starting route point, and can also identifythe target user whose current location serves as the ending route point.The route determination component 606 first determines if the targetuser can be located based on whether the target user has authorized thepublication of their location information, either in a recent message tothe sender of the request or in a profile accessible by the system 600.If so, the route determination component 606 determines a step-by-steproute from the starting route point to the ending route point andreturns such to the requesting user by way of the message sendercomponent 612. In another implementation, step-by-step directions areautomatically included with location information so that a separaterequest for directions is unnecessary. In this case, the routedetermination component 606 can use the current location of therecipient (as determined by the device location 604) as the startingpoint for the route and the location of the sender as the end point forthe route. Alternatively, a URL can be sent to the recipient which, whenpresented to and selected by a user, could initiate a WirelessApplication Protocol (WAP) session that would allow the user to obtain aroute to the sender.

FIG. 7 is a flow diagram 700 of an approach for responding to a request.A request is received (step 702) by a message receiver component 610,for example. As discussed above, the message can include parametersspecifying whether or not a user associated with the sending device hasauthorized publication of the user's current location, a proximityaround the sender's current location, and identification of one or morepotential recipients of the message. If the message is a request formessage distribution (step 710), the current location of the sender'sdevice is obtained (step 712). One or more potential recipients whosedevices are within the proximity (if specified) are selected asrecipients of the message (step 714). The message is then distributed tothe potential recipients that are within the proximity (step 716) by themessage sender component 612, for example. As described above, thedistributed message can include the current location of the deviceassociated with the user who sent the message, optionally include ageographic reference point and a route.

If the message is a request for directions (step 704), the requestidentifies the sender of the request whose current location serves as astarting route point, and can also identify the target user whosecurrent location serves as the ending route point. For example, asdescribed above a route determination component 606 can determine astep-by-step directions from the starting route point to the endingroute point. The directions are returned to the requestor (step 708),e.g., by way of the message sender component 612.

Embodiments of the invention and all of the functional operationsdescribed in this specification can be implemented in digital electroniccircuitry, or in computer software, firmware, or hardware, including thestructures disclosed in this specification and their structuralequivalents, or in combinations of one or more of them. Embodiments ofthe invention can be implemented as one or more computer programproducts, i.e., one or more modules of computer program instructionsencoded on a computer-readable medium for execution by, or to controlthe operation of, data processing apparatus. The computer-readablemedium can be a machine-readable storage device, a machine-readablestorage substrate, a memory device, a composition of matter effecting amachine-readable propagated signal, or a combination of one or morethem.

The term “data processing apparatus” encompasses all apparatus, devices,and machines for processing data, including by way of example aprogrammable processor, a computer, or multiple processors or computers.The apparatus can include, in addition to hardware, code that creates anexecution environment for the computer program in question, e.g., codethat constitutes processor firmware, a protocol stack, a databasemanagement system, an operating system, or a combination of one or moreof them. A propagated signal is an artificially generated signal, e.g.,a machine-generated electrical, optical, or electromagnetic signal, thatis generated to encode information for transmission to suitable receiverapparatus.

A computer program (also known as a program, software, softwareapplication, script, or code) can be written in any form of programminglanguage, including compiled or interpreted languages, and it can bedeployed in any form, including as a stand-alone program or as a module,component, subroutine, or other unit suitable for use in a computingenvironment. A computer program does not necessarily correspond to afile in a file system. A program can be stored in a portion of a filethat holds other programs or data (e.g., one or more scripts stored in amarkup language document), in a single file dedicated to the program inquestion, or in multiple coordinated files (e.g., files that store oneor more modules, sub-programs, or portions of code). A computer programcan be deployed to be executed on one computer or on multiple computersthat are located at one site or distributed across multiple sites andinterconnected by a communication network.

The processes and logic flows described in this specification can beperformed by one or more programmable processors executing one or morecomputer programs to perform functions by operating on input data andgenerating output. The processes and logic flows can also be performedby, and apparatus can also be implemented as, special purpose logiccircuitry, e.g., an FPGA (field programmable gate array) or an ASIC(application-specific integrated circuit).

Processors suitable for the execution of a computer program include, byway of example, both general and special purpose microprocessors, andany one or more processors of any kind of digital computer. Generally, aprocessor will receive instructions and data from a read-only memory ora random access memory or both. The essential elements of a computer area processor for performing instructions and one or more memory devicesfor storing instructions and data. Generally, a computer will alsoinclude, or be operatively coupled to receive data from or transfer datato, or both, one or more mass storage devices for storing data, e.g.,magnetic, magneto-optical disks, or optical disks. However, a computerneed not have such devices. Moreover, a computer can be embedded inanother device, e.g., a mobile telephone, a personal digital assistant(PDA), a mobile audio player, a Global Positioning System (GPS)receiver, to name just a few. Computer-readable media suitable forstoring computer program instructions and data include all forms ofnon-volatile memory, media and memory devices, including by way ofexample semiconductor memory devices, e.g., EPROM, EEPROM, and flashmemory devices; magnetic disks, e.g., internal hard disks or removabledisks; magneto-optical disks; and CD-ROM and DVD-ROM disks. Theprocessor and the memory can be supplemented by, or incorporated in,special purpose logic circuitry.

To provide for interaction with a user, embodiments of the invention canbe implemented on a computer having a display device, e.g., a CRT(cathode ray tube) or LCD (liquid crystal display) monitor, fordisplaying information to the user and a keyboard and a pointing device,e.g., a mouse or a trackball, by which the user can provide input to thecomputer. Other kinds of devices can be used to provide for interactionwith a user as well; for example, feedback provided to the user can beany form of sensory feedback, e.g., visual feedback, auditory feedback,or tactile feedback; and input from the user can be received in anyform, including acoustic, speech, or tactile input.

Embodiments of the invention can be implemented in a computing systemthat includes a back-end component, e.g., as a data server, or thatincludes a middleware component, e.g., an application server, or thatincludes a front-end component, e.g., a client computer having agraphical user interface or a Web browser through which a user caninteract with an implementation of the invention, or any combination ofone or more such back-end, middleware, or front-end components. Thecomponents of the system can be interconnected by any form or medium ofdigital data communication, e.g., a communication network. Examples ofcommunication networks include a local area network (“LAN”) and a widearea network (“WAN”), e.g., the Internet.

The computing system can include clients and servers. A client andserver are generally remote from each other and typically interactthrough a communication network. The relationship of client and serverarises by virtue of computer programs running on the respectivecomputers and having a client-server relationship to each other.

While this specification contains many specifics, these should not beconstrued as limitations on the scope of the invention or of what may beclaimed, but rather as descriptions of features specific to particularembodiments of the invention. Certain features that are described inthis specification in the context of separate embodiments can also beimplemented in combination in a single embodiment. Conversely, variousfeatures that are described in the context of a single embodiment canalso be implemented in multiple embodiments separately or in anysuitable subcombination. Moreover, although features may be describedabove as acting in certain combinations and even initially claimed assuch, one or more features from a claimed combination can in some casesbe excised from the combination, and the claimed combination may bedirected to a subcombination or variation of a subcombination.

Similarly, while operations are depicted in the drawings in a particularorder, this should not be understand as requiring that such operationsbe performed in the particular order shown or in sequential order, orthat all illustrated operations be performed, to achieve desirableresults. In certain circumstances, multitasking and parallel processingmay be advantageous. Moreover, the separation of various systemcomponents in the embodiments described above should not be understoodas requiring such separation in all embodiments, and it should beunderstood that the described program components and systems cangenerally be integrated together in a single software product orpackaged into multiple software products.

Thus, particular embodiments of the invention have been described. Otherembodiments are within the scope of the following claims. For example,the actions recited in the claims can be performed in a different orderand still achieve desirable results.

1. A method of communicating location information, comprising:receiving, from a first wireless device, a first data message; obtaininga proximity zone surrounding a current location associated with saidfirst wireless device; selecting one or more user IDs from a first setof one or more user IDs, said selected one or more user IDs beingassociated with at least one second wireless device that is within saidproximity zone; automatically appending said current locationinformation associated with said first wireless device to said firstdata message; transmitting said first data message comprising saidcurrent location information associated with said first wireless deviceto said at least one second wireless device; receiving, said at leastone second wireless device, a second data message comprising a requestto transmit current location associated with said at least one secondwireless device, to said first wireless device; and transmitting currentlocation associated with said at least one second wireless device tosaid first wireless device.
 2. The method of communicating locationinformation according to claim 1, wherein: said first data message is atleast one of a text message, an image message, a voice message, and astreaming media message.
 3. The method of communicating locationinformation according to claim 1, wherein: said first data messagespecifies said proximity zone.
 4. The method of communicating locationinformation according to claim 1, wherein: said received first datamessage requests said first set of one or more user IDs.
 5. The methodof communicating location information according to claim 1, wherein:said first set of one or more user IDs is part of at least one of abuddy list, a chat list and a Short Message Service (SMS) group.
 6. Themethod of communicating location information according to claim 1,further comprising: determining a geographic reference point based onsaid current location of said first wireless device; and incorporatingsaid geographic reference point into said current location of said firstwireless device.
 7. The method of communicating location informationaccording to claim 1, wherein: said text message further includes atleast one of an image, a voice, sound, and streamed media.
 8. The methodof communicating location information according to claim 1, furthercomprising: determining a route from said first wireless device to saidat least one second wireless device; and providing said route to saidfirst wireless device.
 9. The method of communicating locationinformation according to claim 1, wherein: said first data messageincludes a code indicating at least one of said proximity zone and saidfirst set of one or more user IDs.
 10. The method of communicatinglocation information according to claim 1, wherein: said first datamessage identifies said first set of one or more user IDs.
 11. Themethod of communicating location information according to claim 1,wherein: said first data message is comprised of at least one of animage, a voice, sound, and streamed media.
 12. The method ofcommunicating location information according to claim 1, wherein:determining a route from said at least one second wireless device tosaid first wireless device; and providing said route to said secondwireless device.
 13. An apparatus for communicating locationinformation, comprising: a receiver to receive, from a first wirelessdevice, a first data message and to receive, from a second wirelessdevice, a second data message comprising a request to transmit currentlocation associated with said second wireless device to said firstwireless device; an obtainer to obtain a proximity zone surrounding acurrent location associated with said first wireless device; a selectorto select one or more user IDs from a first set of one or more user IDs,said selected one or more user IDs being associated with said secondwireless device that is within said proximity zone; an appender toautomatically append said current location information associated withsaid first wireless device to said first data message; and a transmitterto transmit said first data message comprising said current locationinformation to said second wireless device, and to transmit currentlocation associated with said second wireless device to said firstwireless device.
 14. The apparatus for communicating locationinformation according to claim 13, wherein: said first data message isat least one of a text message, an image message, a voice message, and astreaming media message.
 15. The apparatus for communicating locationinformation according to claim 13, wherein: said first data messagespecifies said proximity zone.
 16. The apparatus for communicatinglocation information according to claim 13, wherein: said received firstdata message requests said first set of one or more user IDs.
 17. Theapparatus for communicating location information according to claim 13,wherein: said first set of one or more user IDs is part of at least oneof a buddy list, a chat list and a Short Message Service (SMS) group.18. The apparatus for communicating location information according toclaim 13, further comprising: a determiner to determine a geographicreference point based on said current location of said first wirelessdevice; and an incorporator to incorporate said geographic referencepoint into said current location of said first wireless device.
 19. Theapparatus for communicating location information according to claim 13,wherein: said first data message further includes at least one of animage, a voice, sound, and streamed media.
 20. The apparatus forcommunicating location information according to claim 13, furthercomprising: a determiner to determine a route from said first wirelessdevice to said second wireless device; and a provider to provide saidroute to said first wireless device.
 21. The apparatus for communicatinglocation information according to claim 13, wherein: said text messageincludes a code indicating at least one of said proximity zone and saidfirst set of one or more user IDs.
 22. The apparatus for communicatinglocation information according to claim 13, wherein: said first datamessage identifies said first set of one or more user IDs.
 23. Theapparatus for communicating location information according to claim 13,wherein: said first data message is comprised of at least one of animage, a voice, sound, and streamed media.
 24. The apparatus forcommunicating location information according to claim 13, wherein: adeterminer to determine a route from said at least one second wirelessdevice to said first wireless device; and a provider to provide saidroute to said second wireless device.